package com.yizhuoyan.his.service.admin;

import com.yizhuoyan.his.ao.ModifyRoleAo;
import com.yizhuoyan.his.ao.RoleAddAo;
import com.yizhuoyan.his.dto.QueryResult;
import com.yizhuoyan.his.entity.SysRoleEntity;


/**
 * 角色管理
 */
public interface SysRoleManageService {
    /**
     * 系统管理员新增新角色
     *
     * @param ao
     * @return
     * @throws Exception
     */
    SysRoleEntity addNewRole(RoleAddAo ao) throws Exception;

    /**
     * 修改现有角色
     *
     * @param id
     * @param ao
     * @return
     * @throws Exception
     */
    void modifyRole(Long id, ModifyRoleAo ao) throws Exception;

    /**
     * 删除现有角色
     *
     * @param id
     * @return
     * @throws Exception
     */
    void removeRole(Long id) throws Exception;

    /**
     * 查询现有角色
     *
     * @param id
     * @return
     * @throws Exception
     */
    SysRoleEntity queryRole(Long id) throws Exception;

    QueryResult<SysRoleEntity> queryAllRoleByKey(String Key, int pageNo, int pageSize) throws Exception;

}
